package com.kehutong.charge.entity;

import com.kehutong.charge.util.enums.ChargeBillStatusEnum;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import com.kehutong.common.entity.DataEntity;
import org.coraframework.json.annotation.JSONField;
import org.coraframework.orm.annotation.Column;
import org.coraframework.orm.annotation.Table;
import org.coraframework.orm.util.IDType;

import java.math.BigDecimal;

/**
 * @program: kht
 * @description: 临时账单管理表
 * @author: joneron
 * @create: 2021/7/5
 **/
@Table(value="t_charge_bill_interim", comment="临时账单管理表",multi = true, idType = IDType.TIMESTAMP, engine = "innodb")
public class ChargeBillInterim extends DataEntity {

    protected ChargeBillInterim(String id) {
        super(id);
    }

    @Column(comment="小区编号")
    private String communityNo;

    @Column(comment="小区名称")
    private String communityName;

    @Column(comment="账单编号")
    private String houseBillNo;

    @Column(comment="楼栋编号")
    private String buildNo;

    @Column(comment="房屋编号")
    private String houseNo;

    @Column(comment="住户类型")
    private ResidentsTypeEnum residentsType;

    @Column(comment="账单地址")
    private String billAddress;

    @Column(comment="临时账单编号")
    private String interimBillNo;

    @Column(comment="临时收费类型id")
    private String feeTypeNo;

    @Column(comment="临时收费类型名")
    private String feeTypeName;

    @Column(comment="账单金额")
    private BigDecimal billAmount;

    @Column(comment="应付金额")
    private BigDecimal payableAmount;

    @Column(comment="实付金额")
    private BigDecimal paymentAmount;

    @Column(comment="议价金额")
    private BigDecimal negotiateAmount;

    @Column(comment="收费二维码")
    private String feeQrCode;

    @Column(comment="备注")
    private String remark;

    @Column(comment="账单年月")
    private String billYearMonth;

    @Column(comment="缴费人")
    private String chargeName;

    @Column(comment="缴费人编号")
    private String userNo;

    @Column(comment="手机号")
    private String mobile;

    @Column(comment="账单状态")
    private ChargeBillStatusEnum billStatus;

    @Column(comment="缴费状态")
    private ChargeBillStatusEnum chargeStatus;

    @JSONField(serialize = false)
    @Column(comment = "逻辑删除")
    private boolean deleted;

    @Column(comment="创建人")
    private String createName;

    @Column(comment="修改人")
    private String updateName;


    public ResidentsTypeEnum getResidentsType() {
        return residentsType;
    }

    public void setResidentsType(ResidentsTypeEnum residentsType) {
        this.residentsType = residentsType;
    }

    public String getBuildNo() {
        return buildNo;
    }

    public void setBuildNo(String buildNo) {
        this.buildNo = buildNo;
    }

    public BigDecimal getPayableAmount() {
        return payableAmount;
    }

    public void setPayableAmount(BigDecimal payableAmount) {
        this.payableAmount = payableAmount;
    }

    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    public BigDecimal getNegotiateAmount() {
        return negotiateAmount;
    }

    public void setNegotiateAmount(BigDecimal negotiateAmount) {
        this.negotiateAmount = negotiateAmount;
    }

    public ChargeBillStatusEnum getChargeStatus() {
        return chargeStatus;
    }

    public void setChargeStatus(ChargeBillStatusEnum chargeStatus) {
        this.chargeStatus = chargeStatus;
    }

    public String getBillYearMonth() {
        return billYearMonth;
    }

    public void setBillYearMonth(String billYearMonth) {
        this.billYearMonth = billYearMonth;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public String getHouseBillNo() {
        return houseBillNo;
    }

    public void setHouseBillNo(String houseBillNo) {
        this.houseBillNo = houseBillNo;
    }

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getInterimBillNo() {
        return interimBillNo;
    }

    public void setInterimBillNo(String interimBillNo) {
        this.interimBillNo = interimBillNo;
    }

    public String getFeeTypeNo() {
        return feeTypeNo;
    }

    public void setFeeTypeNo(String feeTypeNo) {
        this.feeTypeNo = feeTypeNo;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public BigDecimal getBillAmount() {
        return billAmount;
    }

    public void setBillAmount(BigDecimal billAmount) {
        this.billAmount = billAmount;
    }

    public String getBillAddress() {
        return billAddress;
    }

    public void setBillAddress(String billAddress) {
        this.billAddress = billAddress;
    }

    public String getFeeQrCode() {
        return feeQrCode;
    }

    public void setFeeQrCode(String feeQrCode) {
        this.feeQrCode = feeQrCode;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getChargeName() {
        return chargeName;
    }

    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    public ChargeBillStatusEnum getBillStatus() {
        return billStatus;
    }

    public void setBillStatus(ChargeBillStatusEnum billStatus) {
        this.billStatus = billStatus;
    }

    public boolean isDeleted() {
        return deleted;
    }

    public void setDeleted(boolean deleted) {
        this.deleted = deleted;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getUpdateName() {
        return updateName;
    }

    public void setUpdateName(String updateName) {
        this.updateName = updateName;
    }
}
